package org.cliff.message.platform.core.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 接收消息重发送详情
 * @TableName mp_received_message_resend_detail
 */
@TableName(value ="mp_received_message_resend_detail")
@Data
public class ReceivedMessageResendDetail implements Serializable {
    /**
     * ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 消息ID
     */
    private Long messageId;

    /**
     * 发送类型 AR：Auto Resend 自动重传 MR：Marked Resend标记重传
     * 取值常量见{@link SendTypeConstants}
     */
    private String sendType;

    /**
     * 计划重消费时间 便于定时任务将消息组装发送出去
     */
    private Long planedSendTime;

    /**
     * 发送状态P: Pending 等待处理，初始状态T：Triggered 重新发送已触发F：Finished 发送处理完成S：Stop 自动重新消费终止
     */
    private String sendStatus;

    /**
     * 当前自动重传次数
     */
    private Integer autoRetryCount;

    /**
     * 响应状态码
     */
    private Integer statusCode;

    /**
     * 响应详情
     */
    private String responseDetail;

    /**
     * 创建时间
     */
    private Date requestTime;

    /**
     * 创建时间
     */
    private Date responseTime;

    /**
     * 消息重发送消耗时间
     */
    private Long processTime;

    /**
     * 创建时间
     */
    private Date createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}